﻿namespace Rj.PersonnelVerification.Server.Timeer
{
    public class LogService
    {
        private readonly string _logFilePath;

        public LogService()
        {
            //// 设置日志文件的路径
            //_logFilePath = Path.Combine(Directory.GetCurrentDirectory(), "logs", "app.log");

            //// 确保日志目录存在
            //Directory.CreateDirectory(Path.GetDirectoryName(_logFilePath));
            // 获取当前日期并格式化为字符串
            string todayDate = DateTime.Now.ToString("yyyy-MM-dd");
            string fileName = $"{todayDate}.txt"; // 文件名为当天日期
            string logsDirectory = Path.Combine(Directory.GetCurrentDirectory(), "logs");
            _logFilePath = Path.Combine(logsDirectory, fileName);

            // 检查 logs 目录是否存在，如果不存在则创建它
            if (!Directory.Exists(logsDirectory))
            {
                Directory.CreateDirectory(logsDirectory);
                Console.WriteLine("Logs directory created at: " + logsDirectory);
            }

            //_logFilePath = Path.Combine(Directory.GetCurrentDirectory(), "logs", fileName);
            string currentDirectory = Directory.GetCurrentDirectory(); // 当前工作目录
            //string filePath = Path.Combine(currentDirectory, fileName); // 完整文件路径

            // 检查文件是否存在
            if (File.Exists(_logFilePath))
            {
                Console.WriteLine($"文件 '{fileName}' 已存在。");
            }
            else
            {
                // 创建新文件
                File.WriteAllText(_logFilePath, ""); // 可以在这里写入初始内容
                Console.WriteLine($"文件 '{fileName}' 不存在，已创建新文件。");
            }
        }

        public async Task LogAsync(string message)
        {
            var logMessage = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {message}";

            // 追加日志
            await File.AppendAllTextAsync(_logFilePath, logMessage + Environment.NewLine);
        }
    }
}
